/**
 * Sumpu Inc.
 * Copyright (c) 2011-2012 All Rights Reserved. 
 */
package cn.sumpu.app.guoguojie.biz.impl.top;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.taobao.api.internal.stream.connect.ConnectionLifeCycleListener;

/**
 * @author nick
 * @version $Id: ConnectionListener.java, v 0.1 2012-8-13 上午11:40:20 nick Exp $
 */
public class ConnectionListener implements ConnectionLifeCycleListener {

    private final static Logger logger = LoggerFactory.getLogger(ConnectionListener.class);

    public void onConnect() {
        if (logger.isDebugEnabled()) {
            logger.debug("<font color=\"#FF0000\">正常连接到服务端，开始接收消息...</font><br/>");
        }
    }

    public void onException(Throwable throwable) {
        if (logger.isErrorEnabled()) {
            logger.error("<font color=\"#FF0000\">连接过程中发生了异常，没有正确连接到服务端，异常信息为:" + throwable + "</font><br/>");
        }
    }

    public void onConnectError(Exception e) {
        if (logger.isErrorEnabled()) {
            logger.error("<font color=\"#FF0000\">连接服务端错误，断开连接" + e + "</font><br/>");
        }
    }

    // 读取数据超时 
    public void onReadTimeout() {
        if (logger.isWarnEnabled()) {
            logger.warn("<font color=\"#FF0000\">读数据超时，sdk会重新连接服务端</font><br/>");
        }
    }

    public void onSysErrorException(Exception e) {
        if (logger.isErrorEnabled()) {
            logger.error("<font color=\"#FF0000\">连接过程中发生了业务异常，没有正确连接到comet服务端，错误信息为:" + e.getMessage() + "</font><br/>");
        }
    }

    public void onMaxReadTimeoutException() {
        if (logger.isErrorEnabled()) {
            logger.error("<font color=\"#FF0000\">在连接过程中，发生了太多的读数据异常，断开连接，请检查网络是否有问题</font><br/>");
        }
    }

    @Override
    public void onBeforeConnect() {
        if (logger.isDebugEnabled()) {
            logger.debug("<font color=\"#FF0000\">在sdk发起连接请求之前客户端可以做点事情</font><br/>");
        }
    }

}
